package com.accelstack.cmp.dto;

import com.accelstack.cmp.enums.UserStatus;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Builder;
import lombok.Data;

import java.util.Date;

/**
 * 用户响应DTO
 */
@Data
@Builder
@Schema(description = "用户信息响应")
public class UserResponse {
    
    @Schema(description = "用户ID")
    private Long id;
    
    @Schema(description = "用户名")
    private String username;
    
    @Schema(description = "邮箱")
    private String email;
    
    @Schema(description = "访问密钥（Access Key）")
    private String accessKey;
    
    @Schema(description = "私密密钥（Secret Key）", accessMode = Schema.AccessMode.WRITE_ONLY)
    private String secretKey;
    
    @Schema(description = "用户状态")
    private UserStatus status;
    
    @Schema(description = "描述")
    private String description;
    
    @Schema(description = "最后登录时间")
    private Date lastLoginTime;
    
    @Schema(description = "最后登录IP")
    private String lastLoginIp;
    
    @Schema(description = "创建时间")
    private Date createdAt;
}

